﻿// // ******************************************************************
// //       /\ /|       @file       GetTranslationCommand.cs
// //       \ V/        @brief      await29
// //       | "")       @author     Await, 285283010@qq.com
// //       /  |
// //      /  \\        @Modified   2024-12-31 20:12
// //    *(__\_\        @Copyright  Copyright (c) , 2024-12-24 18:12 Await
// // ******************************************************************

using AutomaticSubtitles.Contracts.Entity;
using AutomaticSubtitles.Service.DataAccess.Model;

namespace AutomaticSubtitles.Service.Application.Translate.Commands;

/// <summary>
///     获取翻译数据
/// </summary>
/// <param name="LanguageType">源类型</param>
/// <param name="Value">原文</param>
/// <param name="TranslatedLanguageType">翻译类型</param>
/// <param name="Path">来源地址</param>
public record GetTranslationCommand(string? LanguageType, string Value, string TranslatedLanguageType, string? Path) : Command
{
    /// <summary>
    ///     语言类型
    /// </summary>
    public string? TranslationType = LanguageType;

    /// <summary>
    ///     是否找到
    /// </summary>
    public bool IsDid { get; set; }

    /// <summary>
    ///     是否添加
    /// </summary>
    public bool IsAdd { get; set; }
    
    /// <summary>
    /// 是否强制翻译
    /// </summary>
    public bool IsCompulsory { get; set; }


    /// <summary>
    ///     来源
    /// </summary>
    public string? Source { get; set; }

    /// <summary>
    ///     长度
    /// </summary>
    public string Result { get; set; }


    #region 替换

    /// <summary>
    ///     字幕分割信息
    /// </summary>
    public SubtitleSegmentationData SubtitleSegmentationData { get; set; }

    #endregion

    #region 数据入库

    public List<Auto_Translate>? AddTransData { get; set; }

    public List<string>? UpdateTransData { get; set; }

    #endregion
}